
#include "Cola.h"
#include<iostream>
using namespace std;

Cola::Nodo::Nodo(int valor){
    this->valor = valor;
    this->siguiente = 0;
}

Cola::Nodo::~Nodo(){
    if(siguiente){
        delete siguiente;
    }
}

Cola::Cola(){
    primero = primero = 0;
}

Cola::~Cola(){

}

void Cola::encolar(int valor){
    if(primero){
        Nodo * nuevo = new Nodo(valor);
        ultimo->siguiente = nuevo;
        ultimo = nuevo;
    }else{
        primero = new Nodo(valor);
        ultimo = primero;
        ultimo->siguiente = 0;
    }
}

void Cola::desEncolar(){
    if(!colaVacia()){
        Nodo * temp = primero;
        primero = temp->siguiente;
        temp->siguiente = 0;
        delete temp;
    }
}

int Cola::colaVacia(){
    if(!primero){
        return 1;
    }else{
        return 0;
    }
}

int Cola::frente(){
    if(!colaVacia()) return primero->valor;
    else return 0;
}
